package com.project.server.service.companies.impl;

import com.project.common.core.domain.BaseServer;
import com.project.common.utils.StringUtils;
import com.project.server.domain.companies.TCompanyStaff;
import com.project.server.mapper.companies.TCompanyMapper;
import com.project.server.mapper.companies.TCompanyStaffMapper;
import com.project.server.service.companies.ITCompanyStaffService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * 员工信息Service业务层处理
 *
 * @author project
 * @date 2021-07-02
 */
@Service
public class TCompanyStaffServiceImpl extends BaseServer implements ITCompanyStaffService {

    private static final Logger log = LoggerFactory.getLogger(TCompanyStaffServiceImpl.class);

    @Resource
    private TCompanyStaffMapper tCompanyStaffMapper;

    @Resource
    private TCompanyMapper tCompanyMapper;

    /**
     * 查询员工信息
     *
     * @param staffId 员工信息ID
     * @return 员工信息
     */
    @Override
    public TCompanyStaff selectTCompanyStaffById(Long staffId) {
        return tCompanyStaffMapper.selectTCompanyStaffById(staffId);
    }

    /**
     * 查询员工信息列表
     *
     * @param tCompanyStaff 员工信息
     * @return 员工信息
     */
    @Override
    public List<TCompanyStaff> selectTCompanyStaffList(TCompanyStaff tCompanyStaff) {
        List<TCompanyStaff> newList = tCompanyStaffMapper.selectTCompanyStaffList(tCompanyStaff);
        for (int i = 0; i < newList.size(); i++) {
            if (StringUtils.isNull(newList.get(i).getUserFace()) || StringUtils.isEmpty(newList.get(i).getUserFace())) {
                newList.get(i).setAuthenticationStatus("1");
                tCompanyStaffMapper.updateTCompanyStaff(newList.get(i));
            } else {
                newList.get(i).setAuthenticationStatus("0");
                tCompanyStaffMapper.updateTCompanyStaff(newList.get(i));
            }
        }
        return newList;
    }

    /**
     * 根据员工电话号码查询员工信息
     *
     * @param openId 员工微信openId
     * @return 员工信息
     */
    @Override
    public TCompanyStaff selectTCompanyStaffByOpenId(String openId) {

        return tCompanyStaffMapper.selectTCompanyStaffByOpenId(openId);
    }


    /**
     * 新增员工信息
     *
     * @param tCompanyStaff 员工信息
     * @return 结果
     */
    @Override
    public int insertTCompanyStaff(TCompanyStaff tCompanyStaff) {
        super.insert(tCompanyStaff);
        return tCompanyStaffMapper.insertTCompanyStaff(tCompanyStaff);
    }


    /**
     * 修改员工信息
     *
     * @param tCompanyStaff 员工信息
     * @return 结果
     */
    @Override
    public int updateTCompanyStaff(TCompanyStaff tCompanyStaff) {
        super.update(tCompanyStaff);
        return tCompanyStaffMapper.updateTCompanyStaff(tCompanyStaff);
    }

    /**
     * 批量删除员工信息
     *
     * @param staffIds 需要删除的员工信息ID
     * @return 结果
     */
    @Override
    public int deleteTCompanyStaffByIds(Long[] staffIds) {
        return tCompanyStaffMapper.deleteTCompanyStaffByIds(staffIds);
    }

    /**
     * 删除员工信息信息
     *
     * @param staffId 员工信息ID
     * @return 结果
     */
    @Override
    public int deleteTCompanyStaffById(Long staffId) {
        return tCompanyStaffMapper.deleteTCompanyStaffById(staffId);
    }
}
